home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
476-500
/
disk_497
/
nldaemon
/
nl-daemon.doc
< prev
next >
Wrap
Text File
|
1992-05-06
|
8KB
|
165 lines
OVERVIEW:
Much of the gadget imagery in the Amiga looks flat and 2-dimensional,
but with the four colors available on the workbench screen, a much more
3-dimensional appearance is possible. By setting your colors correctly, and
by using a particular gadget style, you can make the Amiga imagery look 3D.
I call this visual style the "New Look," here-after refered to as the NL,
or just NL.
NL-Daemon is a program that implements the New Look even for programs that
were not designed to take advantage of it. NL-Daemon replaces the standard
Intuition depth, close, and sizing gadgets with their NL counterparts, and
changes the detail and block pens to conform to the NL style.
HOW TO USE NL-DAEMON:
You should place NL-Daemon in your C: directory (or in your current path),
and NL-Handler in the L: directory (or in the current directory). To start
NL-Daemon, simply type NL-Daemon at the CLI prompt:
1> NL-Daemon
You do not need to "RUN" NL-Daemon, since NL-Daemon loads the handler code
separately, sets up the handler, and then exits. To remove the daemon,
simply issue the NL-Daemon command a second time.
Once the NL-Daemon is running, you should see all the windows and screens
change to the New Look. Provided you have chosen your screen colors carefully,
this should make the Intuition gadgets look 3-dimensional. The colors you
choose should satisfy the following conditions: color 0 (the background color)
should be a medium dark color; color 1 (the usual text and menu-bar color)
should be the lightest color; color 2 (used in the depth gadgets) should be a
medium bright color; and color 3 (the CLI cursor color) should be the darkest
color. (Notice that the relationship of colors 2 and 3 are reversed from the
default Intuition settings; this has the advantage of making the gadget appear
correctly even on one-bit-plane screens, and improves menu appearance). You
should use the Palette Tool or Preferences to experiment until you find a
color-scheme that suits your taste, but that still gives the 3D effect.
A reasonable grey-scale setup would has Palette-Tool values 454 FFC 997 000.
(Monitors differ, so these values may need to be adjusted to suit your
monitor and lighting conditions). More colorful combinations also are possible.
USAGE NOTES:
You can make NL-Daemon part of your standard working environment by adding
the "NL-DAEMON" command (or "NL-DAEMON > NIL:") to the startup-sequence file
in the S: directory on your boot disk.
If you use NL-Daemon in conjunction with Zoom-Daemon, you should issue the
Zoom-Daemon command first, and then NL-Daemon. The NL-Daemon has an NL image
designed for the Zoom Gadget and will replace it along with the other window
imagery, provided NL-Daemon is run second.
NL-Daemon will not change the color of a window that is opening on a screen
that is only one bitplane deep (since the NL window colors are colors 2 and 3,
which are not available on only one bitplane). NL-Daemon uses the standard
depth gadgets for one-bitplane screens, as the NL equivalents are ineffective
in only two colors.
NL-Daemon will change a screen or window's Block and Detail pen only if they
are initially set to the standard window colors (Block = 1, Detail = 0). That
way, NL-Daemon should not disrupt programs that use window or screen colors for
special purposes.
The NL imagery may look bad on screens that have their own color maps, since
those programs are not prepared to have the Intuition gadgets use colors other
than the defaults. If this is the case, either remove NL-Daemon while you are
using such a program, or use the Palette Tool (provided with WB1.3) to change
the screen colors.
Some programs that include color images in the menu strip assume that the
menu strip background color is color 1 and so do not include an Image
structure for the menu choice for color 1 (probably to save a little space).
In this case, when the BlockPen is changed to 2, the menu color changes, so
the choice for color 1 will be displayed in color 2. The menu will still
function properly, but will be colored incorrectly. All the programs supplied
with WB1.3 seem to work this way, in particular, NotePad and IconEd both
demonstrate this difficulty.
If you remove the NL-Daemon while windows or screens containing NL imagery
are still open, NL-Daemon will restore the original imagery and colors
automatically.
TECHNICAL NOTES:
NL-Daemon uses SetFunction to trap the OpenWindow and OpenScreen calls, and
after a window or screen is opened, it checks the gadget list for SYSGADGETS
and replaces their imagery with the NL imagery. It also alters the window and
screen colors if appropriate. Unfortunately, the window BlockPen also controls
the menu color, and many programs specify IntuiTexts in their menus that have a
draw mode of JAM2, with the background color set to 1. The NL window BlockPen
is color 2, so this makes menus look very strange. To solve this problem,
NL-Daemon also traps calls to SetMenuStrip, and checks each menuitem and
subitem for IntuiTexts. See the code for details of how the different draw
modes are handled. Although NL-Daemon currently does as little modification of
menus as possible, you may find that you want it to do more with the menu text
colors, depending on the color choices you make.
Note that NL-Daemon only modifies menus on windows for which it has changed
the window color. You can prevent NL-Daemon from affecting your menus or
window colors by specifying a BlockPen other than the standard color 1.
Finally, NL-Daemon also modifies the CheckMark and AmigaIcon images used
by Intuition to draw the menu check marks and command-key sequences, so that
they will have color 2 as their background color. This is done by an illegal
modification to the IntuitionBase INTUITIONPRIVATE data fields. This is almost
guaranteed to break under a new release of the operating system. For this
reason (and for those who are timid about this sort of illegal behavior),
you can request that NL-Daemon NOT modify the checkmark and amiga key images.
To do this, simply include the word BE_GOOD as a parameter when you initiate
NL-Daemon:
1> NL-Daemon Be_Good
(actually, any non-blank parameter will do). This prevents NL-Daemon
from modifying the IntuitionBase structures, but may cause menus to look
a little funny.
Since the window colors are not changed for one-bitplane screens, the changes
in the checkmark and amiga key images will cause these images to be inverted
on one-bitplane screens.
When you remove NL-Daemon, it replaces the original Intuition imagery for
all the gadgets that it changed, and it returns the IntutionBase variables
to their original state. NL-Daemon does not, however, undo any changes
that it made to menu IntuiText structures, so if you remove NL-Daemon while
menus are changed, the menus may be left with strange colors in them.
Since Intuition does not use its own vector table internally, any windows
opened by Intuition (e.g, System Requests and other windows created by
AutoRequest or BuildSysRequest) will not have their imagery altered by
NL-Daemon, although they may inherit the altered screen colors.
COMPILING NL-DAEMON:
NL-Daemon was developed using the Lattice C compiler v4.0 on a 512K
Amiga 1000. It probably will need to be modified to work with the
Manx Aztec C compiler. To compile and link NL-Daemon, use the following
commands (these appear in NL-Daemon.com, distributed with the source code):
1> lc -b0 -v -M NL-Main NL-Handler NL-Setup
1> lc -b0 -ad -M NL-Image
1> asm NL-Stubs
1> blink with NL-Daemon.lnk
1> blink with NL-Handler.lnk
The -v -b0 and -ad options are required. You can add -r if you like.
The -M is to compile only those source files that have been updated since the
last compile.
AUTHOR:
NL-Daemon and NL-Handler
Copyright 1989 by Davide P. Cervone, all rights reserved.
Davide P. Cervone
Department of Mathematics, Box 1917 ST402523@BROWNVM.BITNET
Brown University st402523@brownvm.brown.edu
Providence, Rhode Island 02912 dpvc@fermat.math.brown.edu